package com.xbongbong.pro.statistic.service.result;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.pro.domain.entity.ChartEntity;
import com.xbongbong.pro.statistic.result.pojo.ChartResultPkPojo;
import com.xbongbong.pro.statistic.result.pojo.vo.ChartResultPkDetailVO;
import com.xbongbong.sys.domain.entity.UserEntity;

/**
 * pk榜相关
 * @author zcp
 * @version v1.0
 * @date 2019/3/18 15:38
 * @since v1.0
 */
public interface ChartResultPk {

    /**
     * 系统pk指标公共接口
     * 注：有利pk榜权限优化后，只有业绩目标在用该方法。原来pk的都不再调用该方法，改用getPkRuleTarget
     * @param userEntity 登录员工
     * @param chartResultPkPojo pk参数
     * @param chartResultPkDetailVO 塞入pk结果
     * @return java.lang.Object
     * @throws XbbException
     * @author zcp
     * @date 2019/3/18 15:34
     * @since v1.0
     * @version v1.0
     */
    Object getPkTarget(UserEntity userEntity, ChartResultPkPojo chartResultPkPojo, ChartResultPkDetailVO chartResultPkDetailVO) throws XbbException;

    /**
     * 系统pk范围规则指标公共接口
     * @param userEntity 登录员工
     * @param chartResultPkPojo pk参数
     * @param chartResultPkDetailVO 塞入pk结果
     * @return java.lang.Object
     * @throws XbbException
     * @author zcp
     * @date 2019/3/18 15:34
     * @since v1.0
     * @version v1.0
     */
    Object getPkRuleTarget(UserEntity userEntity, ChartEntity chartEntity, ChartResultPkPojo chartResultPkPojo, ChartResultPkDetailVO chartResultPkDetailVO) throws XbbException;
}
